1. The Field of the Invention
The present invention relates to computing technology; and more specifically, to mechanisms for ensuring that messages received during recovery mode are processed despite being in recovery mode.
2. Background and Related Art
Computing technology has transformed the way we work and play. Computing systems now take a wide variety of forms including desktop computers, laptop computers, tablet PCs, Personal Digital Assistants (PDAs), household devices and the like. Currently, computing system technology has improved significantly. Numerous application instances may run on a single computing system at the same time. This complexity provides for ever-improving computing utility.
Despite such improvements, however, computing systems do still occasionally experience system failures. Some system failures may prohibit the computing system from performing clean up processes prior to shutting down completely. Accordingly, instances that were in process at the time of the system failure may have inconsistent state and run improperly during subsequent power-up. Such instances often enter recovery mode when such inconsistency or improper operation is detected.
During recovery mode, the computing system performs recovery code designed to remove the inconsistency and regarding proper operation. However, oftentimes, when performing such recovery code, normal operations are put on hold. For example, consider a server computing system that offers network services to other computing systems. When the server computing system is in recovery mode, the other computing systems may continue to send messages to the server computing system as normal. However, the server computing system may not ever be able to respond to these messages. Once the server computing system has completed recovery, there may be no record of the messages it received while recovering. If the recovery process was long, a significant number of messages may have been received during the recovery process. There may be no record of some, if not all, of these received messages.
What would be advantageous are mechanisms for ensuring that messages that are received during recovery mode are properly processed upon recovery, even if recovery takes a significant period of time in which many messages may have been received.